<Schema name="BtmFFCommunicationSchema" 
	xmlns="urn:schemas-microsoft-com:xml-data"
	xmlns:dt="urn:schemas-microsoft-com:datatypes" 
	xmlns:fdt="x-schema:FDTDataTypesSchema.xml"
	xmlns:btm="x-schema:BtmDataTypesSchema.xml"
	xmlns:fms="x-schema:FdtFFFmsSchema.xml"
	xmlns:fftypes="x-schema:FdtFFDataTypesSchema.xml"
>
	<!--Definition of Attributes-->
	<AttributeType name="schemaVersion" dt:type="string" default="1.21"/>

	<!--Definition of Elements-->
	<ElementType name="BlockAddress" content="eltOnly" model="open">
		<attribute type="btm:blockTag" required="yes"/>
		<!-- the index represents the absolute index of the block -->
		<attribute type="fdt:index" required="yes"/>
	</ElementType>

	<!--Definition of Elements-->
	<ElementType name="ConnectRequest" content="eltOnly" model="closed">
		<attribute type="fdt:nodeId" required="no"/>
		<element type="BlockAddress" minOccurs="1" maxOccurs="1"/>
	</ElementType>
	<ElementType name="ConnectResponse" content="eltOnly" model="closed">
		<attribute type="fdt:nodeId" required="no"/>
		<attribute type="fftypes:communicationReference" required="yes"/>
		<element type="BlockAddress" minOccurs="1" maxOccurs="1"/>
	</ElementType>
	<ElementType name="DisconnectRequest" content="empty" model="closed">
		<attribute type="fdt:nodeId" required="no"/>
		<attribute type="fftypes:communicationReference" required="yes"/>
	</ElementType>
	<ElementType name="DisconnectResponse" content="empty" model="closed">
		<attribute type="fdt:nodeId" required="no"/>
		<attribute type="fftypes:communicationReference" required="yes"/>
	</ElementType>
	<ElementType name="FDT" content="eltOnly" model="open">
		<attribute type="fdt:nodeId" required="no"/>
		<group order="one" minOccurs="0" maxOccurs="1" >
			<element type="ConnectRequest"/>
			<element type="ConnectResponse"/>
			<element type="DisconnectRequest"/>
			<element type="DisconnectResponse"/>
			<element type="fms:FmsReadRequest"/>
			<element type="fms:FmsReadResponse"/>
			<element type="fms:FmsWriteRequest"/>
			<element type="fms:FmsStandardResponse"/>
			<element type="fms:FmsServiceError"/>
			<element type="fdt:CommunicationError"/>
		</group>
	</ElementType>
</Schema>
